package chapter02;

public class Test07_Construct {
    public static void main(String[] args) {
        System.out.println("声明对象....");
        StudentOne s = null;
        System.out.println("实例化对象....");
        //构造函数是new关键字调用的
        s = new StudentOne(101,"宋子豪","吃 ");
        s.info();
        //调用无参的构造函数 可以共存 因为函数重载的机制存在
        StudentOne s1 = new StudentOne();
        StudentOne s2 = new StudentOne(102,"张三",
                "睡觉","秦皇岛职业技术学院");
        s2.info();
    }
}
class StudentOne{
    //学号
    private int id;
    //姓名
    private String name;
    //爱好
    private String hobby;
    //学校
    private String school="河北建材职业技术学院";
    //无参的构造函数 没有构造函数 系统会自动生成一个
    //如果有构造函数 就会将系统的构造函数抵消
    public StudentOne(){
        System.out.println("调用的是无参的构造函数");
    }
    //定义一个有参数的构造函数
    public StudentOne(int id,String name,String hobby){
        this.id=id;
        this.name=name;
        this.hobby=hobby;
    }
    public StudentOne(int id,String name,String hobby,String school){
        //用this调用成员方法 如果是其他方法 this.方法名 构造方法this()
        this(id,name,hobby);
        this.school =school;
    }
    public void info(){
        System.out.println("我的学号"+id+"我的名字"
                +name+"我的爱好"+hobby+"我的学校"+school);
    }
}
